1. Field of the Invention
The present invention relates generally to computer databases and, more specifically, to database schema visualization.
2. Description of the Related Art
Businesses commonly need to store and access large quantities of data relating to specific business matters, such as their financial accounts, inventory, customers, employees and other matters. Businesses use computer databases to aid this task. A database is a structure in which a computer system may store a large quantity of data organized in a manner that facilitates efficient storage, search and retrieval. A business typically charges a person known as a database administrator with the maintenance and management of the database.
Physically, at the heart of any database is some suitable type of non-volatile data store, such as magnetic disks, on which data may be recorded. Nothwithstanding this commonality, a number of different conceptual models under which databases can be constructed have been developed. The most prevalent database model is known as a relational database. In a relational database the data are organized in tables, also referred to as relations. Each data element in a table is indexed by its row and column in the table. Certain columns may be designated as “keys” to uniquely identify that row. Tables can be linked to other tables by means of a “foreign key” relationship and by means of a “join” relationship. Tables can also be related to other tables by means of a “view.” A “view over a table” refers to permitting access to only a portion of the table.
The “schema” of a database is its structure and organization, including the various tables, views and their relationships to one another. Database administrators as well as programmers and other persons involved in the maintenance and management of a database typically find it helpful to be able to visualize the schema For many years, tables were the only human-readable form in which databases were available. It is difficult to understand a database schema merely by viewing its tables. Recently, graphical user interfaces (GUIs) for database schema visualization have been suggested. For example, a visualization tool for database schema is described in co-pending application Ser. No. 09/351,793, filed Jul. 13, 1999, entitled “APPARATUS AND METHOD FOR GENERATING AND DISPLAYING A SCHEMA DIAGRAM FOR A DATABASE.” This tool provides a GUI through which a user can access a database and instruct the tool to display the elements of the database together in a graphical, tree-like format, with selected icons representing tables, views and other elements defining the schema.